package org.oslims.client.service;

import java.util.List;

import org.oslims.domain.AbstractSample;
import org.oslims.domain.Analysis;
import org.oslims.domain.AnalysisResult;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("analysisResultService")
public interface AnalysisResultService extends RemoteService {

	public void saveOrUpdateAnalysisResult(AnalysisResult analysisResult);

	public void saveNewAnalysisResults(List<AnalysisResult> analysisResults);

	public void removeAnalysisResult(AnalysisResult analysisResult);

	public List<AnalysisResult> getAnalysisResultsBySample(AbstractSample abstractSample);

	public List<AnalysisResult> getAnalysisResultsBySampleAndAnalysisAndState(AbstractSample abstractSample, Analysis analysis, String state);

	List<AnalysisResult> getAnalysisResultsBySampleAndState(AbstractSample tag, String string);

	public void validateAnalysisResults(List<AnalysisResult> analysisResults);

}
